fix: address review suggestions for worker topology PR#387
Merged
kylewalke merged 1 commit intoMay 18, 2026
Merged
Conversation
- Avoid in-place mutation of metrics result in LCSAdapter by using spread - Pass undefined instead of Infinity to vscode.workspace.findFiles API - Replace non-null assertion with optional chaining in showGraph - Clear ingestion timeout on server stop to prevent stale timer firing
kylewalke
added a commit
that referenced
this pull request
May 19, 2026
… graph scope picker - W-22201120 (#386) * feat(apex-lsp-extension): replace workspace load toast with status bar spinner - W-22201120 Replace vscode.window.withProgress notification with status bar updates during workspace loading. The spinner persists until the server sends apex/workspaceIngestionComplete, giving accurate feedback on server-side processing time. - Add updateApexServerStatusLoading() to status-bar.ts - Register apex/workspaceIngestionComplete handler on web + desktop clients - Pass workerPlatformWebUrl in initialization options for web workers - Flatten workspace-loader async flow, remove cancellation token handling - Add .sf/** to exclude glob, support maxFileCount in development mode - Default findFilesAcrossWorkspaceFolders maxResults to Infinity * feat(apex-lsp-extension): add worker topology UI and graph scope picker - W-22201120 Add extension-side UI for monitoring and configuring the worker topology: - performanceSettingsScript: add Experimental Workers section with enable toggle, pool size, and resource loader controls - queueStateScript: render worker topology cards with role status indicators and coordinator/worker dispatch tags on request types - showGraph: add QuickPick scope chooser (Current File vs All Types) - showPerformanceSettings: persist experimental.workers settings - server-config: pre-create per-role profiling subdirectories for workers * feat(apex-lsp-web): expose worker topology status in queue state metrics - W-22201120 Inject workerTopology from the WorkerCoordinator dispatcher into both the apex/queueState request response and the periodic apex/queueStateChanged notification. This enables the queue state dashboard to render live worker role cards and dispatch indicators. * refactor(apex-lsp-extension): extract shared ingestion complete handler De-duplicate the apex/workspaceIngestionComplete notification handler that was registered identically in both createWebLanguageClient and createDesktopLanguageClient into a single registerIngestionCompleteHandler helper. * fix(apex-lsp-extension): exclude .sf directories at any workspace depth The exclude glob template already wraps entries with **/{...}/**, so the entry should be just '.sf' (not '.sf/**') to produce the correct pattern **/.sf/** matching .sf directories at any level. * fix(apex-lsp-extension): add 5-minute timeout for ingestion complete notification If the server crashes or fails to send apex/workspaceIngestionComplete, the status bar spinner would spin indefinitely. Add a 5-minute timeout that falls back to ready state and logs a warning. * refactor(apex-lsp-extension): type renderExperimentalWorkers parameter Replace 'any' with ExperimentalSettings interface for the renderExperimentalWorkers method parameter. Add ExperimentalSettings and ExperimentalWorkersSettings interfaces to the webview script. * fix(apex-lsp-extension): correct worker topology default in help text The fallback when no setting exists is enabled: true, so the help text should say "(default: on)" not "(default: off)". * fix(apex-ls): improve type safety in worker topology integration - Narrow the 'as any' cast in queueState handler to a proper type assertion (Record<string, unknown>) after the 'metrics' in-check - Align coordinatorOnlyTypes to 'readonly string[]' on both server and client interfaces - Move enrichedMetrics computation after the log statement that references the original metrics to reduce confusion * fix: lint * fix: address review suggestions for worker topology PR (#387) - Avoid in-place mutation of metrics result in LCSAdapter by using spread - Pass undefined instead of Infinity to vscode.workspace.findFiles API - Replace non-null assertion with optional chaining in showGraph - Clear ingestion timeout on server stop to prevent stale timer firing * fix: stuck on browser download for unit tests --------- Co-authored-by: peternhale <peternhale@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
undefinedinstead ofInfinitytovscode.workspace.findFilesAPITest plan